Web application for accessing media streams

ABSTRACT

A web page has a player for playing media objects, a sequencer which displays a play list that defines an order in which media objects are played by the player, and a media access area for containing a plurality of graphical icons. Each graphical icon representing a media object, and the graphical icons can be manipulated by a user to modify the play list. For example, the media icons may be dragged to the sequencer to add them to the sequencer.

CROSS REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. application Ser. No.09/187,256, filed Nov. 6, 1998, now U.S. Pat. No. 6,452,609 issued Sep.17, 2002.

BACKGROUND

The present application relates generally to providing media streamsfrom Internet sites.

The World Wide Web (WWW) is conventionally conceived as a system inwhich a user navigates between text documents on different servers bymeans of hypertext links. Activating a hypertext link causes anotherpage, also composed of text and links, to be delivered to the clientcomputer. Thus, on the WWW, a user's experience is determined by theorder in which the user clicks on links.

In general, non-text objects are treated as illustrations placed on textpages. Although WWW standards include an open ended specification forhandling multimedia files that allows media objects to be referenced byhypertext links, those references are treated no differently thanhypertext links to pages and illustrations. Typically, three techniquesare used to access multimedia files. First, a link can point to aspecial media file that requires a special player program to produce theimages and sounds of the media file. Second, the link can point to aplayer program that starts independently of the web browser to play themedia file. The interface provided by the player program controls themedia file. Third, the link can point to a player program embedded inthe page. In this case, the user can click on the link to choose whichmedia file to play without leaving the page. However, the size of theimage displayed and the controls available to the user are chosen by theweb page designer.

The currently available tools that can be used to synchronize thepresentation of multimedia components include proprietary languages,such as Macromedia's Lingo and Apple's HyperCard, and scriptinglanguages, such as ECMAScript (JavaScript). In recognition of thedifficulty of multimedia authoring with the currently available tools,the World Wide Web Consortium (W3C) has proposed a new language calledthe Synchronized Multimedia Integration Language (SMIL).

The WWW was developed for utility in the assembly and cross referencingof text content documents with user freedom in navigation. On the otherhand, multimedia development has focused on interactive but cannedcontent with limited use options that are defined by the author. Thus,multimedia on the web has been subject to conflicting developmentalpressures, and has not developed a coherent presentation format.

SUMMARY

In one aspect, the invention is directed to a web page with a player forplaying media objects, a sequencer which displays a play list thatdefines an order in which media objects are played by the player, amedia access area for containing a plurality of graphical icons. Eachgraphical icon representing a media object, and the graphical icons canbe manipulated by a user to modify the play list.

Implementations of the invention may include the following features. Thegraphical icon includes an indication of a media type of the mediaobject and text describing content of the graphical object. A graphicalicon can be dragged from the media access area to the sequencer to addthe media object represented by the graphical icon to the play list. Thesequencer can display one of multiple play lists, and the user mayswitch between play lists by selecting a tab associated with the playlist. For each graphic object in the play list, the play list box maycontain a copy of the graphical icons representing the graphical object,a checkbox to control whether the player will play the graphic object,and a pop-up menu to provide information about the graphic object. Thesequencer and media access area may be implemented with scripted DHTML.The media access area may include an expandable and collapsible outlineof subjects, and the media icons may be arranged in lists in theoutline. The media access area may include a tab for each subject at atop level of the outline, and the user can switch between subjects byselecting a one of the tabs. The media access area may display one of aplurality of outlines, and the user can switch between outlines byselecting a tab. The player may include a control panel and a draggableimage display window. The image display window may include a home buttonto return the image display window to a home position on the web page,an image area, a handle, a button to hide the image area, and a sizelock button to prevent the image display window from expanding beyond adefault size. The web page may further include a site-driven area todisplay a banner. The banner may be synchronized with the media objectbeing played by the player, and a media object may be associated withthe banner. The user may change the play list to play the media objectassociated with the banner by manipulating the banner. Dragging thebanner to the sequencer may add the media object associated with thebanner to the play list, and dragging the banner to the image area ofthe player may play the media object associated with the banner. Thebanner may include a pop-up menu to display information about the mediaobject associated with the banner.

In another aspect, the invention is directed to a method of operating aweb page. Multiple sources of streaming content are displayed to a user,and user input is received to select a playing order for the sources ofstreaming content. The playing order is stored, user input is receivedto start delivering the streaming content to the user, and the streamingcontent is presented to the user in the stored order.

In another aspect, the invention is directed to an Internet site havinga first database to store information about a plurality of mediaobjects, a second database to store information about how the mediaobjects are to be presented on a web page, a third database to storeinformation about a plurality of users, and an application server forcommunicating with a client running the web page.

Advantages of the invention may include one or more of the following.The user can locate and control streams of multimedia content in realtime without accessing different web pages or surrendering control to amedia player program. A user can define and assemble multiple sequencesof media objects, particularly sources of streaming content. The usercan manage a persistent personal collection of media objects from anetwork client. The user can gather additional streaming content while amedia object is playing, and can modify and create sequences while amedia object is playing. The user can add and remove media objects froma sequence, can deselect media objects to prevent them from playingwithout removing them from a sequence, and can switch between differentuser defined sequences. New media objects can be preloaded into asequence based on a personal preference or interest profile defined bythe user. Individual user histories (as defined by the order in which auser adds media objects to sequences and plays the media objects) can beused to generate an outline organized by user-defined tabs and dates.Users can exchange play lists and player combinations by electronicmail.

The details of one or more embodiments of the invention are set forth inthe accompanying drawings and the description below. Other features andadvantages of the invention will become apparent from the description,the drawings, and the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a media access web page according to the presentinvention.

FIGS. 2A-2C illustrate the use of a media icon access panel from the webpage of FIG. 1.

FIG. 3A-3B illustrate the step of dragging a media icon from the accesspanel to a sequencer from the web page of FIG. 1.

FIG. 4 illustrates the sequencer containing several media icons.

FIG. 5 illustrates the use of a media object pop-up menu.

FIG. 6A-6C illustrate the manipulation of multiple play lists by thesequencer.

FIG. 7 illustrates the object player from the web page of FIG. 1.

FIGS. 8A-8C and 9A-9C illustrate the operation of the site-driven areafrom the Internet site of FIG. 1.

FIG. 10 illustrates a pageless Internet site for generating a mediaaccess web page.

FIG. 11 illustrates a method performed when a user contacts a mediaaccess web page server.

FIG. 12 illustrates a method performed when a user interacts with themedia icon access panel.

FIGS. 13A-13C illustrate methods performed when a user switches orchanges tabs in the sequencer.

FIG. 14 illustrates a method performed when a user plays a media objectfrom a play list in the sequencer.

FIG. 15 illustrates a method performed when a user drags a banner fromthe site-driven area.

FIG. 16 illustrates a method performed when a user activates a mediaicon pop-up menu.

FIG. 17 illustrates a media icon pop-up menu.

DETAILED DESCRIPTION

FIG. 1 shows a media access web page 10 generated by an Internet sitethat is particularly suited for accessing multimedia streams. TheInternet site is “sequence-oriented”, i.e., the user controls thesequence in which multimedia streams are presented. In addition, theInternet site is “pageless”, in that media streams are delivered to theuser without the user having to navigate to different pages. The mediastreams may be a variety of media types, such as text, audio, images,animation, video, executable code, or any combination of media types.The Internet site is a media-type neutral system, i.e., it treatsdifferent media types, such as audio and video, in a similar fashion.

The building blocks of the Internet site include playable media contentunits, called “media objects”, and graphical representations, of themedia content units called “media icons”. The user manipulates the mediaicons to create an individual sequence, i.e., a play list, of mediaobjects. The web page 10 presents the media icons with text and/orgraphics to assist the user in determining how to manipulate the mediaicons.

The pageless Internet site is an inversion of conventional web sitedesign. In conventional web site design the media object is the lastlink in a long chain of pages and links. The setting, context, meaning,and relevance of the media object are established in hypertext, and themedia object is an adornment for the hypertext. In contrast, in thepageless Internet site, the media object is the starting point. Thepageless Internet site is media-oriented, as opposed to beingtext-oriented with media annotations. In short, the principle oforganization of web page 10 is the relationship between media objects,rather than the relationship between pages.

As shown in FIG. 1, the media access web page 10 has four functionalareas, including a media icon access panel 12, a sequencer 14, an objectplayer 16, and a site-driven area 18. The media icon access panel 12organizes media icons into a hierarchical outline or list, and supportssearches for media objects. The sequencer 14 allows the user to selectmedia icons from the media icon access panel 12, and to create andmodify one or more user defined play lists. The object player 16 playsthe media objects in the order defined by the play list. In addition,the object player 16 can control the play list and the individual mediaobjects in the play list. The site-driven area 18 presents site-drivengraphics synchronized with streaming content that responds to useractions and user selected content. The graphics can also be media iconsrepresenting more media objects. The web page 10 can be implemented withJavaScript and HTML 4.0, and can be accessed with a web browser, such asMicrosoft Internet Explorer 4.0. Each of the components of the web page10 will be described in greater detail below.

The media icon access panel 12 has a series of subject matter tabs 22arranged along an edge of the panel. To begin browsing the content ofthe site, the user selects one of the subject matter tabs 22, forexample, by clicking on it with a mouse controlled cursor. As shown inFIG. 2A, clicking on a subject matter tab 22 causes the top level of anoutline 24 to appear as a bulleted list containing bulleted items 26. Inaddition, clicking the subject matter tabs 22 causes outline item tabs28 to appear at the bottom of the media icon access panel 12. Eachoutline item tab 28 corresponds to one of the top level bulleted items26 in the outline 24.

As shown in FIG. 2B, clicking on either the text of a bulleted item 26or the corresponding outline item tab 28 at the bottom of the media iconaccess panel 12 will cause the next level of the outline to be displayedas a bulleted sublist 29. Clicking on a bulleted item in a sublistcauses the next lower level of the outline to be displayed. In order tomanage large outlines without excessive scrolling, the sections of theoutline will expand and collapse so that only one item of each level ofthe outline is expanded at a time. For example, FIG. 2B shows the “News”section of the outline has been expanded. Clicking on any bullet at thesame level, such as the “Sports” bullet, would expand the outline toshow the items in that bullet, but would also close the “News” section.

As shown in FIG. 2C, the lowest level of the outline is a list 36 ofmedia icons 30. Each media icon 30 represents a media object. Each mediaicon includes a graphic icon 32 indicating the media type, such asaudio, video, text, executable code, graphic, or unknown, of the mediaobject. Each media icon also includes accompanying text 34 to brieflyexplain the content of the media object. When a cursor 42 moves over amedia icon, the media icon is highlighted to indicate that it isselectable. Clicking on a media icon 30 does not open another level ofthe outline. Rather, as shown in FIG. 3A, holding the mouse selectbutton down when a media icon is highlighted creates a copy 40 of theselected media icon, in a contrasting color. The user can drag the mediaicon copy 40 with the cursor 42. As shown in FIG. 3B, the media iconcopy 40 can be dragged out of the media icon access panel 12 and droppedinto the sequencer 14.

As shown in FIG. 4, the sequencer 14 includes a play list box 44, a playlist button 46, and control buttons 48. When the copy of the media iconis dragged near the sequencer 14, it will snap into the play list box44. By dragging media icons from the media icon access panel 12 into thesequencer 14, the user creates a sequence or play list 50 of media iconsrepresenting a playing order for the media objects associated with themedia icons. Media objects can also be added to the play list 50 bydouble-clicking on the media icon 30 in the outline 24. Each element inthe play list 50 includes the copy 40 of the media icon, a checkbox 54,and a pop-up icon 56. The user may select one of the media icons 30 inthe sequence by clicking on it to make it the current media icon 52. Thecurrent media icon 52 is highlighted in yellow and represents the mediaobject that is playing, or that will play if a stopped player isstarted. If the number of elements in the play list 50 exceeds thevertical height of the play list box 44, a scroll bar may be created toscroll through the play list.

The user can modify the play list 50 to arrange the media objects into adesired playing order. For example, the user can change the order ofmedia icons by dragging the media icon copy 40 inside the play list box44. Clicking on a remove button 60 below play list box 44 deletes thecurrent media icon, and clicking on a clear button 62 removes all mediaicons from the current play list 50. Unchecking the checkbox 54 to theleft of the media icon copy 40 will cause that media object to beskipped when the play list is played. This permits the user to select asubset of a play list 50 to be played.

As shown in FIG. 5, additional information about each media object isaccessible by clicking on the pop-up icon to generate a pop-up menu 58.This information will depend on the nature of the media object, and canbe determined by the manager of the Internet site. For example, thepop-up menu can display information about image size, media type andframe rate.

As shown in FIG. 6A, the user can create and organize multiple playlists by use of the play list button 46. When the user clicks on theplay list button 46, a pop up menu 70 appears with four options: Create,Delete, Rename, and Go To. The create option adds a play list, thedelete and rename options remove and rename a play list respectively,and the Go To option switches to a different stored play list. As shownin FIG. 6B, each new play list creates an additional tab 72 at the topof the play list box. The new play list 50 may be populated by draggingmedia icons from the same or different branches of the outline 24. Theuser created play lists are similar in function to the favorites or bookmarks web browsers have for web pages. The pop-up menu 70 may alsoinclude a Play All option which causes every play list to be played. Inaddition, the pop-up menu 70 may include a Play Many option which allowsthe user to select a group of play lists, e.g., by selecting the playlist tabs 72, and to play the media objects in the group. The functionsof the play list button 46 could be accessed by other interactivefeatures on the web page.

The pop-up menu 70 on the play list button 46 may also include a mailfeature that permits users to select and exchange play lists. The mailfeature may also be invoked by a separate button, or by dragging mediaicons from sequencer or media icon access area to a mailbox icon. Themedia objects in the mailbox may later be mailed one or severalrecipients.

As shown in FIG. 6C, when the addition of a new tab 72 causes a tab atthe opposite end to “fall off” the play list box 44, a triangular cornermarker 74 appears to indicate the direction in which there are more tabsto view. The user can click on the corner markers 74 to cause the tabsto shift left or right, as appropriate, to display the next play listtab.

As shown in FIG. 7, the object player 16 is used to play the currentlyselected media object from the play list 50 in the sequencer 14. Theobject player includes an image display window 80 and a control panel82. The object player 16 can use any program that can be embedded in aweb page that presents media objects. Examples of streaming mediaprograms that can be embedded are QuickTime™, RealMedia™, and MicrosoftMedia Player™. Streaming media players, such as the illustratedRealMedia Player, include the control panel features, such as a stopbutton 100, a pause/play button 102, a previous button 104 and a nextbutton 106. a vertical-slider control 108 provides audio volume control,and a horizontal slider control 110 provides fast forward/rewind controland indicates the amount of the stream that has been and remains to beplayed. A display panel 112 presents the current status of the mediaobject, e.g., playing or paused, and a clock 114 shows the totalduration of the multimedia object and the elapsed time.

The next button 106 works with the play list 50 in the sequencer 14 tocause the currently playing media object to stop and to cause the mediaobject represented by the next checked media icon in the play list 50 tostart playing. Similarly, the previous button 104 causes the currentlyplaying media object to stop and causes the media object represented bythe previous checked media icon in the play list 50 to start playing.When a new media object starts playing, it is highlighted in yellow asthe current media icon. If there is no checked media icon in the playlist before the current media icon, the previous button 104 is dimmed,and if there is no checked media icon is the play list after the currentmedia icon, the next button 106 is dimmed.

The image display window 80 includes a handle 90, an image size lockbutton 92, a window shade button 94, and an image swap button 96. Theimage display window 80 has a home position in the upper left corner ofthe media access web page 10. However the user can reposition the imagedisplay window 80 by clicking on the handle 90 and dragging the imagedisplay window. When the image display window 80 is dragged out of itshome position, it floats above the other areas of the web page 10 andthe sequencer 14 expands to make use of the freed space to provide alarger play list box. On the other hand, if the image display window 80is dragged back to its home positions, it will snap back to the homeposition and the sequencer 14 will shrink to its original size.

The user can click on the image size lock button 92 to set and releasean image size lock that restricts the maximum size of the image displaywindow 80. When the image size lock is released, the image displaywindow 80 will resize to the default size of the particular mediaobject. On the other hand, if the image size lock is set, the imagedisplay will not grow larger than the default size of the image displaywindow 80. However, the first time in a session when an image that islarger than the image display window default size becomes current, adialog box asks whether the user wishes the display to expand to thenormal image dimensions required by the media object. If the useragrees, then the image lock is released and all images larger than imagedisplay window default size will display full size. The size of theimage display window 80 may also be set by dragging on the window edges.

Clicking on the window shade button 94 removes the image but leaves thehandle 90. Clicking the window shade button 94 again restores the image.This is useful for quickly seeing what is beneath the image withoutrepositioning it. The position swap button 96 changes the position ofthe image display window 80. When the image display is floating,clicking the position swap button 96 returns the image display to thehome position. Clicking the position swap button 96 when the imagewindow is in its home position returns it to is last floating position.The hide video button 98 hides the whole image display window 80,including the handle 90. For example, the image display window may behidden to enlarge the sequencer 14 when working with audio-only mediaobjects or if no video image is desired. The user redisplays imagedisplay window 80 by clicking the show video button below the sequencer14. The image size lock, image shade, image swap buttons and hide videoon the handle 90 of the image display window 80 are repeated below thesequencer 14 as a lock/unlock button 68, an open/close button 66, anaway button 69, and a hide/show video button 64, respectively (see FIG.4).

As shown in FIGS. 1 and 8A, the site-driven area 18 is a region of theweb page 10 that is controlled primarily by the server in response touser actions. The contents of this synchronized display are not chosenby the user, but instead are determined by the Internet site applicationprogram. The Internet site can use the site-driven area 18 to presentinformation, e.g., a rotating banner, associated with media objects thatare playing. The contents of site-driven area 18 can also be based onuser preferences, a user history, or a user profile. For example, whenthe media access web page 10 first loads, and if no media objects areplaying, the site-driven area 18 can show a conventional “rotating”advertising banner 120. However, as shown in FIG. 8B, when a mediaobject is playing, the site-driven area 18 shows a rotating banner 122that is specific or “synchronized” to the media object. For example, ifthe user plays a clip from a music video, an advertising banner for a CDfrom the same record label can be displayed in the site-driven area 18.Thus, the synchronized banner 122 provides information in parallel withthe playing media object.

Each media object represented in the media icon access panel 12 can havenone, one, or two or more synchronized banners 122. For example, onebanner can reference a source (e.g., the web page where the media objectwas found) for the media object, and another banner can reference asponsor (e.g., the company whose product is advertised) for the mediaobject.

Each synchronized banner 122 can be associated with a playable mediaobject. If a media object is associated with the banner 122, anindicator 130 appears in the frame of the banner 122. The indicator 130can show the type of the media object (e.g., video, audio, etc.) with agraphical icon 102. The user can play the associated media object bydragging the banner 122 into the image display window 80 of the objectplayer 16. In addition, the user can add the associated media object tothe play list 50 by dragging the banner 122 into the play list box 44 ofthe sequencer 14.

As shown in FIG. 8C, dragging the banner 122 creates a copy 132, whichacts as a media icon. When the dragged banner contacts the image displaywindow 80, the image display border turns yellow to indicate it willplay a new media object. Dragging the banner copy 132 into contact withthe image display window 80 causes the object player to pause, andreleasing a dragged banner copy 132 in contact with the image displaystops the playing of the current object and starts playing the objectassociated with the banner. The highlight on the current media icon 52in the play list 50 turns red to indicate that the play list is stopped.However, a media icon for the new media object is not added to a playlist. Instead, once the media object associated with the banner isfinished playing, the play list resumes playing with media object thatwas interrupted by dragging the banner.

As shown in FIGS. 9A and 9B, the site-driven area 18 can displayinformation related to the associated banner or media object. This isindicated by a button or icon 134 appearing in the site-driven area 18.If the user clicks on the button 134, an expanded site-driven area 136is opened. The expanded sponsor area may provide additional information(if any is available) details regarding the subject matter of thebanner. For example, a more extensive advertising page may be presented.

The user can click on the media object indicator 130 on the banner 122to open a pop-up menu 138. The pop-up menu functions are defined by thebanner 122. Selecting “Play” can have the same effect as dragging thebanner to the image display, i.e., the media object is playedimmediately. Selecting “Play Later” causes the media icon for the mediaobject to be added to the end of the current play list 50. Other menuoptions may permit the user to visit the sponsor's web site or purchaseproducts shown during presentation of the media object.

When the media access page loads, the sequencer 14 will be empty if theuser has not visited the site before and if the site has not pre-loadedthe sequencer 14 with any media icons. As the user loads the sequencer14 with media icons, a record of the sequencer's contents is saved onthe site server. This session state is preserved between visits, so thatwhen the user returns to the site, the sequencer will contain the samecontent with which the user ended the previous session. In addition, thesite managers have the option of selectively creating and preloadingplay lists and tabs for each user. Users can be notified about contentwhich is no longer available and it can be removed from user play lists.

In addition, the user can create a personal preference profile thatdetermines content to be preloaded into the sequencer 14. For example,while browsing through the outline 24 in the media icon access panel 12,the user may select an interface feature, e.g., a button, to indicatethat the user is interested in receiving content related to the subjectmatter currently displayed in the outline. When the user returns to thesite, the sequencer will be preloaded with media icons that fit theuser's personal preferences. The user preference profile can be complex,and can be generated using the taxonomy of the outline. The result ofthe preload may be a topical set of play lists in the categoriesestablished by the user. Multiple interface methods can be used togenerate the profile. An appropriate interface method may be selecteddepending on the nature of the content. The personal preferencesselection method may be accessed by a top level tab of the media iconaccess panel 12, or otherwise may be a primary user interface.

The media icon access panel 12 may permit a user to view a history ofthe user's media object selections. For example, one of the tabs on themedia icon access panel can display an outline of all play lists thathave been created or all media objects that have been added to thesequencer. The outline may be organized by date, tab name, or currentplay list tab names. Thus, over time, the creation of play lists andplay list tabs sequencer tabs gives the user the option to view apersonalized access area, e.g., an outline 22 in the describedimplementation, on the media icon access panel 12.

The selection and playing of media objects is tracked, so that the usermay later request previously played media objects, e.g., by date ofselection or playing, or reconstituting play lists that have beendeleted from her sequencer. Alternately, the user may apply a filterbased on prior selections. For example, the user may elect to view onlymedia objects that have not been played, or only media objects that wereplayed last week. The user can create a personal preference that preloadpreviously created play lists into the player.

Thus, users can interact with content that is pre-loaded in thesequencer (either by the site-manager or based on personal preferences),they can locate new media objects in the media icon access panel 12,organize the media objects into a play list 50 in the sequencer 14,exchange play lists with out users, and elect to review media objectsthat are offered in the sponsor area during the playing of each mediaobject.

As shown in FIG. 10, a pageless Internet site 1000 for generating amedia access web page includes server components 1002 and browsercomponents 1004. Databases, including a content database 1010, aninterface database 1012, and a user database 1014 are associated withthe server 1002.

The content database 1010 contains information about the media objectsthat will be represented by media icons in the pageless Internet site.For example, the content database 1010 can include, for each item ofcontent, the media type, i.e., video, audio, animation, and the like, auniform resource code, a short text description, such as the title ofthe media object, the frame rate, duration and image size. The contentdatabase may also contain information about the origin of the mediaobject, such as the author, copyright source name, source web site,sponsor name, and sponsor web site. If the media object represents anitem that can be purchased, then the description and price of the itemmay also be stored in content database 1010. The content database may beupdated periodically by the Internet site manager to provide new mediaobjects to users, and to remove media objects that are no longeravailable.

The interface database 1012 contains the information required to supportthe generation of user interface elements in the media access web page.Specifically, the interface database 1012 includes tables that are usedby queries to construct the outline 24 in the media icon access panel12. The interface database 1012 includes a master outline referencetable that contains one record for each method of constructing a levelof the outline. Each record contains information to define the format ofthe level and to construct queries in the client that will obtain thelevel below the level currently being displayed. One implementation ofthe master outline reference table includes the following fields

Levelcode a label for the outline level type Levelcodenext the label forthe next lower outline level type Querycode a label for a structuredquery language (SQL) format query Drag determines whether the elementson the level are draggable Color determines the color of the elements onthe level Tab determines whether the elements on the level should berepeated in tabs, e.g., bottom or side tabs 28 Table1-2 names for up totwo tables used in the query Field1-10 names for up to ten fields usedin the query Sort a sorting order for elements on the level Adjcode aname for the block of HTML display script Writecode determines whetherthe level writes, overwrites or adds to an existing level

The user database 1014 maintains information about the content and thestatus of the play lists in the sequencer. For example, the userdatabase 1014 may include the user's name, password and other personalinformation, as well as user profile and preference information thatmight be developed by the pageless Internet site manager. The userdatabase 1014 can also contain a list of the play lists available to thesequencer 14, a list of the media objects in each play list 50, andidentification of the currently selected play list and media object. Theuser database 1014 can also maintain a history of the use of the webpage 10 by the user, e.g., by tracking the media objects put into thesequencer 14 and the order in which they are played by the player 16.

The server components of the pageless Internet site 1000 also include aweb server 1020 and one or more media servers 1025. In brief, the webserver 1020 receives queries from the client, passes the queries to thedatabases, receives the resulting recordsets from the databases, anddelivers those recordsets back to the client. The media servers 1025host the media objects and manage the serving of streaming mediaobjects.

The web server 1020 serves the media access web page into a client 1030.a browser running on the client interprets the web page and displays itto the user. The web page contains the program that displays theinterface controls, responds to user events, sends queries and updatesto the web server 1020, receives and manipulates recordsets from the webserver 1020, formats data for display, and controls the media playerobject. The web page also includes a number of data source objects(DSOs) 1034. In general, there are at least two independent databaseconnections for the client. One connection is to the interface databasethat views the content database, and the other connection is to the userdatabase and is bi-directional to the sequencer in support of useractivity and history. Data in the data source objects can be bound todynamic hypertext markup language (DHTML) objects so that changes in theDSO data result in updates to the client display. Specifically, the webpage will include a sequencer DSO that is bound to the sequencer DHTML.The data source objects 1034 can pass query statements, e.g., instructured query language (SQL), to the web server 1020, and receiverecordsets in return.

The DHTML for the media icon access panel 12 includes an array with anentry, e.g., a row, for each element in the outline 22 that is beingdisplayed. Each entry contains all the information necessary toconstruct and format the outline element, and, if the element is a mediaicon, all the information about the media object, including type of themedia object, the banners associated with the media object, the pop-upmenus, and the media objects associated with the banners.

As shown in FIG. 11, when the media access web page is loaded, it checksfor the existence of a cookie that can identify the user to the webserver 1020 (step 1102). If a cookie is found, then the client queriesuser database 1014 in the server for the contents of the sequencer 14 atthe end of the user's last session (step 1104). The server responds tothis query and the sequencer DSO is loaded with the sequencer tabcategories and play lists 50 (step 1106). In addition, media objects maybe pre-loaded into the sequencer DSO based on an individual preferenceprofile (step 1108). For example, a user may request to receive newsupdates, and this information would be stored in the user database 1014.Media objects added to the site since the user's last visit that fit theindividual preference profile could be loaded into a “new” category onthe sequencer tab. Next, site specific media objects may be pre-loadedinto the sequencer DSO (step 1110). For example, tabs and play liststhat the pageless Internet site manager wishes to be displayed when theuser visits the site may be loaded. Next, the initial state of theaccess panel 12 is determined (step 1112). Specifically, a pre-definedinitial query is sent by the client to the interface database 1012, andthe interface database responds with a recordset that describes startingstate of the access panel. The outline information and top tab namesfrom this recordset are loaded into the access panel DSO. Finally, thesite-driven area is activated to commence conventional banner rotation(step 1114).

If the user has not visited the site before and, consequently, no cookieis located, a new user is created in the user database 1014 (step 1120).The server generates a new user identification code (step 1122) andwrites a cookie with the user identification code which is delivered tothe client (step 1124). The application server 1020 then commencesloading the site specific media objects into the sequencer DSO in step1110.

FIG. 12 illustrates the steps performed by the pageless Internet site1000 when the user is navigating through the outline in the access panel12. In brief, clicking on a tab or outline line in the new media iconaccess panel 12 generates an SQL query of the interface database 1012which returns a recordset containing the elements to be displayed andthe format. As mentioned above, the interface database includes a recordfor each element in the outline (whether shown on media icon accesspanel 12 or not), and the array in the access panel DHTML includes anentry for each element 26 that is currently visible on the media iconaccess panel 12. Specifically, each entry in array contains the level ofthe element, the text associated with the element, the format for theelement, and sufficient information to construct a query to obtain arecordset from the interface database for the level below the displayedelement. If an element in the displayed outline 24 is clicked, a scriptis run which generates a query that is sent to the interface and contentdatabases. The databases return a recordset that is stored in atemporary access panel DSO. The recordset is copied to the DHTML array,and the access panel DSO is cleared. Information from the DHTML array isused to write, add or overwrite DHTML to a DHTML span which describes adisplay region on the media icon access panel. Since the formattinginformation is taken from the interface database, the media icon accesspanel 12 can be transformed without reloading any page or frames.

If the user clicks on a tab 22 or an outline line 26 (rather than amedia icon 30), the outline is collapsed so that other outline elementsat the same level are closed (step 1202). A wait message, e.g.,“retrieving element,” may be displayed to the user (step 1204) while theclient retrieves the SQL query data from client memory (step 1206),generates an SQL query that is sent to the application server 1020 (step1208) and receives a resulting recordset which is copied to a DHTMLarray (step 1210). The new outline is formatted and displayed (step1212).

If the user clicks on a media icon 30, the media icon is copied to aDHTML layer that represents the top layer to be displayed by the client(step 1220). The color of the media icon is changed to a “dragging”color. The client then detects whether the media icon has been draggedto the sequencer (step 1222). If the mouse button is released before themedia icon overlaps the sequencer 14, then the copied media icon isremoved from the drag layer and disappears (step 1224). On the otherhand, if the mouse button is released when the media icon overlaps thesequencer 14, then the record associated with the media icon is copiedfrom the access panel array to a JavaScript array and appended to thesequencer DSO (step 1226). Thus, all the information for the mediaobject associated with the media icon, including the media object'spop-up menu, associated banners, and banner pop-up menus is copied fromthe access area array to the sequencer DSO when a user adds a mediaobject to a play list. Since the play list 50 is data-bound to thesequencer DSO, updating the recordset of the sequencer DSO adds a mediaicon to the bottom of the play list 50. Then the sequencer DSO updatesthe user database 1014 (step 1228).

As shown in FIG. 13A, when the user clicks a new sequencer tab 72 (step1300), the sequencer DSO submits changes in the current tab play list tothe user database 1012. This change also resets the source for theobject player (step 1304). Thus, the object player is ready to play thefirst checked object in the new play list 50. The play list for the newtab is filtered and loaded from the sequencer DSO recordset. Because theplay list 50 is bound to the sequencer DSO, it shows the media objectsassociated with a new tab.

If the user clicks on the remove button 60, the selected media objectsrecord is deleted from the sequencer DSO, and the corresponding boundDHTML object is updated accordingly. Similarly, if the user clicks onthe clear button 62, all media objects records from the current tabassignment are deleted from the sequencer DSO, thereby updating thecorresponding bound DHTML play list. In both cases, the sequencer DSOsubmits changes in the play list to the user database 1014.

As shown in FIG. 13B, changes to the sequencer tabs using the create,delete or rename functions in the pop-up play list menu 70 cause changesin the corresponding records in the sequencer DSO. The DHTML objectsbound to the tab sequencer DSO are also rewritten to update the visualappearance. In addition, the tab sequencer DSO submits the changes tothe user database 1014.

As shown in FIG. 13C, the Javascript embedded in the web page 10includes a tab display manager 1350 that is activated when the userclicks a left tab button, a right tab button, creates or edits a tab, orwhen the user database is first loaded into the sequencer DSO. The tabmanager 1350 stores variables representing the first and last visibletabs. The tab manager 1350 adds the left or right tab corner markerbuttons 74 to the left or rightmost tabs when there are more tabsavailable to the left and/or right. For example, assuming the user hasclicked the tab-left button, the variable representing the first tab isdecremented by one (step 1352). Then the variable representing the lasttab is set by setting it equal to the first tab and incrementing ituntil either the last tab is reached or no more tabs fit on the access.The tab display manager can calculate whether tabs fit on the play listbox by storing the horizontal length of the play list box 44 and thehorizontal length of each tab 72. The visible tabs are positioned (step1356) and the tab left and tab right buttons are reset depending onwhether there are additional tabs to the left or right. Similarly, ifthe user clicks a right tab button, then the variable representing thelast tab is incremented by one (step 1362) and the variable representingthe first tab is determined by setting it equal to the last tab anddecrementing it until either the first tab is reached or no more tabsfit on the play list (step 1364). Then the visible tabs are positioned(step 1366) and the left and right tab buttons are reset (step 1358).

As shown in FIG. 14, when a user plays a media object from the play list50, e.g., by pressing play button 85 (step 1400), a JavaScript functionis triggered which generates a user interface command that is sent tothe media player object 1036. In response, the media player object 1036signals the appropriate media server 1025, which retrieves a mediastream from the source specified in the media icon record (step 1402).Rotation of the default banner stops (step 1404), and the sponsor's URLis retrieved from the sequencer DSO (step 1406). In addition, thespecific banner associated with the media object, e.g., a sponsor banneror a source banner, is displayed in the site-driven area 18 (step 1410).Once the object player begins buffering the media stream, the media typeand image size are determined from the media icon data source object(step 1412). If the media object image size is greater than the imagedisplay window default size, then the user is asked if he or she wishesto expand the image display (step 1414). If the user agrees, or if theimage size is smaller than the image display window default size, thenthe image display is resized to fit the actual image size of the mediaobject (step 1416). Otherwise, the image display is left at the imagedisplay window default size (step 1418). Next, if the image display islocated at the home position (as determined in step 1420) then it iscentered (step 1422). Otherwise, the image display is not moved (step1424).

Once the object player buffers the media stream, the media object startsplaying (step 1430). When this occurs, the checkbox 54 associated withthe media object is unchecked by changing the corresponding check fieldin the sequencer DSO (step 1432). Changing the sequencer DSO causes thebound DHTML checkbox to be unchecked (step 1434). When play ends (step1440), the sequencer finds the next checked checkbox in the play list 50(step 1442). The media icon associated with this media object ishighlighted (step 1444), the URL of the new media object is loaded (step1446) and the new media object is played (step 1448) thereby returningto step 1402. If the sequencer cannot locate another checked checkbox inthe play list 50, the object player stops (step 1450) and thesite-driven area 18 returns to default banner rotation (step 1452).

As shown in FIG. 15, if the user clicks on the banner 122, a copy of thebanner is moved into the top layer DHTML so that the banner can bedragged (step 1502). If the last button is released when the banner istouching the image display 80 (as determined in step 1504) or if thebanner is touching the sequencer play list box 44 (as determined in step1506), the URL of the media object associated with the banner isretrieved from the sequencer DSO current record (step 1508). If themouse is released elsewhere, then the banner will disappear (step 1510).If the banner was moved to contact the sequencer, a new record iscreated in the sequencer DSO (step 1520). Identification codes for theuser and tabs are copied into the new record (step 1522) and the bannermedia object data is also copied into the new record (step 1524).Finally, the DHTML play list table is updated with the new sequencer DSOrecord (step 1526).

On the other hand, if the banner is moved to contact the image displaywindow 80, then the object player 16 is paused (step 1530). If thebanner is moved away from the image display window 80 without releasingthe mouse button (as determined in step 1532), then the object player 16resumes playing (step 1534) and the banner may continue to be draggedaround the screen. However, if the mouse button is released when thebanner is touching the image display, then the current media icon 52 inthe play list 50 is highlighted in red to indicate that it has beeninterrupted (step 1540), and the media object associated with the banneris played (step 1542). When the media object associated with the bannerhas stopped playing, the current media icon 52 is changed back to ayellow highlighting (step 1544 ) and play is restarted (step 1546).

As shown in FIG. 16, when the user clicks on indicator 130 (step 1600)or button 56, a sponsor or source pop-up string is retrieved from thesequencer DSO current record (step 1602). The string is an encoded “menudescription notation” (MDN) string that describes the hierarchy of menuitems, the appearance of the menu and the programmed behavior for themenu items. Specifically, the string is an ordered sequence of delimitedfields. The MDN string is an economical means to transport theinstructions for building and defining the content of pop-up menus fromthe server to the client or between client feature datastores. Each menuitem includes the following fields:

Caption The text to be written in the menu item Command a coderepresenting a predefined command to be executed by the web pageParameter Parameters for the command. Multiple parameters may bedelimited by a tilde character “~”. Trigger Identifies the type of mouseevent that triggers the command, such as “Rollover” or “Click” StatusIndicates how a menu items should be displayed if the com- mand is notavailable, e.g., dimmed, grey text, or removed. Image The URL for agraphic to appear in the menu item Separator A horizontal relief line.

Each field may be delimited by a character, such as the “caret”character “^”, and menu items may be delimited by a “bar” character “|”.In addition, two control characters are used to define the hierarchicalrelationship between the menu items. Specifically, one controlcharacter, e.g., a “greater-than” character “>”, indicates a step to asuper-menu of the current menu item, whereas the other controlcharacter, e.g., a “less-than” character “<”, indicates a step to asub-menu of the current menu item. The MDN handles null data fields andtruncated strings by assuming a default behavior.

For example, the pop-up menu 56 shown in FIG. 17 may be generated by thefollowing MDN string:

<|Preview{circumflex over ( )}{circumflex over ( )}{circumflex over( )}{circumflex over ( )}D{circumflex over ( )}{circumflex over( )}|<|View{circumflex over ( )}P{circumflex over( )}http://205.180.55.240/dataplus/foxsearchlight523/server/docs/filmstrips/realmedia/1024/63.jpg~{circumflex over( )}{circumflex over ( )}R{circumflex over ( )}{circumflex over( )}|>|Description{circumflex over ( )}|<| Read{circumflex over( )}D{circumflex over ( )}~{circumflex over ( )}{circumflex over( )}R{circumflex over ( )}{circumflex over ( )}|>|{circumflex over( )}{circumflex over ( )}{circumflex over ( )}{circumflex over( )}{circumflex over ( )}{circumflex over ( )}{circumflex over( )}true{circumflex over ( )}|Info{circumflex over ( )}{circumflex over( )}{circumflex over ( )}{circumflex over ( )}D{circumflex over( )}{circumflex over ( )}|<|Title{circumflex over ( )}{circumflex over( )}{circumflex over ( )}{circumflex over ( )}D{circumflex over( )}{circumflex over ( )}|<|Ed Burns{circumflex over ( )}{circumflexover ( )}{circumflex over ( )}N{circumflex over ( )}R{circumflex over( )}{circumflex over ( )}|>| Author{circumflex over ( )}{circumflex over( )}{circumflex over ( )}{circumflex over ( )}D{circumflex over( )}{circumflex over ( )}|<|Fox Searchlight{circumflex over( )}{circumflex over ( )}{circumflex over ( )}N{circumflex over( )}R{circumflex over ( )}{circumflex over ( )}|>|Copyright{circumflexover ( )}{circumflex over ( )}{circumflex over ( )}{circumflex over( )}D{circumflex over ( )}{circumflex over ( )}|<|{circumflex over( )}{circumflex over ( )}{circumflex over ( )}N{circumflex over( )}R{circumflex over ( )}{circumflex over ( )}|>| ModifyDate{circumflex over ( )}{circumflex over ( )}{circumflex over( )}{circumflex over ( )}D{circumflex over ( )}{circumflex over( )}|<|6/19/97 9:30:50 AM{circumflex over ( )}{circumflex over( )}{circumflex over ( )}N{circumflex over ( )}R{circumflex over( )}{circumflex over ( )}|>|Details{circumflex over ( )}{circumflex over( )}{circumflex over ( )}{circumflex over ( )}D{circumflex over( )}{circumflex over ( )}|<| Image Size{circumflex over ( )}{circumflexover ( )}{circumflex over ( )}{circumflex over ( )}D{circumflex over( )}{circumflex over ( )}|<|112 Height × 160 Width{circumflex over( )}{circumflex over ( )}{circumflex over ( )}N{circumflex over( )}R{circumflex over ( )}{circumflex over ( )}|>|Media Type{circumflexover ( )}{circumflex over ( )}{circumflex over ( )}{circumflex over( )}D{circumflex over ( )}{circumflex over ( )}|<| Video{circumflex over( )}{circumflex over ( )}{circumflex over ( )}N{circumflex over( )}D{circumflex over ( )}{circumflex over ( )}|>|Frame Rate{circumflexover ( )}{circumflex over ( )}{circumflex over ( )}{circumflex over( )}D{circumflex over ( )}{circumflex over ( )}|<|10 fps{circumflex over( )}{circumflex over ( )}{circumflex over ( )}N{circumflex over( )}R{circumflex over ( )}{circumflex over ( )}|>|Duration{circumflexover ( )}{circumflex over ( )}{circumflex over ( )}{circumflex over( )}D{circumflex over ( )}{circumflex over ( )}|<| 20{circumflex over( )}{circumflex over ( )}{circumflex over ()}{circumflex over( )}N{circumflex over ( )}R{circumflex over ( )}{circumflex over( )}|>|>|>|Source{circumflex over ( )}{circumflex over ( )}{circumflexover ( )}{circumflex over ( )}D{circumflex over ( )}{circumflex over( )}|<|Name{circumflex over ( )}{circumflex over ( )}{circumflex over( )}{circumflex over ( )}D{circumflex over ( )}{circumflex over( )}|<|Fox Searchlight Pictures{circumflex over ( )}{circumflex over( )}{circumflex over ( )}N{circumflex over ( )}R{circumflex over( )}{circumflex over ( )}|>| URL{circumflex over ( )}{circumflex over( )}{circumflex over ( )}{circumflex over ( )}D{circumflex over( )}{circumflex over ( )}|<|www.foxsearchlight.com{circumflex over( )}{circumflex over ( )}{circumflex over ( )}{circumflex over( )}R{circumflex over ( )}{circumflex over ( )}|<|Open{circumflex over( )}U{circumflex over ( )}http://www.foxsearchlight.com//index.htm~{circumflex over ( )}{circumflex over( )}R{circumflex over ( )}{circumflex over ( )}|>|>|>|Sponsor{circumflexover ( )}|<|Name{circumflex over ( )}{circumflex over ( )}{circumflexover ( )}{circumflex over ( )}D{circumflex over ( )}{circumflex over( )}|<|Intel{circumflex over ( )}{circumflex over ( )}{circumflex over( )}N{circumflex over ( )}R{circumflex over ( )}{circumflex over ( )}|>|URL{circumflex over ( )}{circumflex over ( )}{circumflex over( )}{circumflex over ( )}D{circumflex over ( )}{circumflex over( )}|<|intel.com{circumflex over ( )}{circumflex over ( )}{circumflexover ( )}{circumflex over ( )}R{circumflex over ( )}{circumflex over( )}|<|Open{circumflex over ( )}U{circumflex over( )}override~{circumflex over ( )}N{circumflex over ( )}D{circumflexover ( )}{circumflex over ( )}|>|>|Play{circumflex over ( )}V{circumflexover ( )}~{circumflex over ( )}N{circumflex over ( )}D{circumflex over( )}{circumflex over ( )}|>| Buy{circumflex over ( )}{circumflex over( )}{circumflex over ( )}{circumflex over ( )}D{circumflex over( )}{circumflex over ( )}|<|Tape{circumflex over ( )}{circumflex over( )}{circumflex over ( )}{circumflex over ( )}D{circumflex over( )}{circumflex over ( )}|<|$14.95{circumflex over ( )}{circumflex over( )}{circumflex over ( )}{circumflex over ( )}D{circumflex over( )}{circumflex over ( )}|<|PurchaseNow{circumflex over ( )}B{circumflexover ( )}override~{circumflex over ( )}N{circumflex over( )}R{circumflex over ( )}{circumflex over ( )}|>| >|DVD{circumflex over( )}{circumflex over ( )}{circumflex over ( )}{circumflex over( )}D{circumflex over ( )}{circumflex over ( )}|<|{circumflex over( )}{circumflex over ( )}{circumflex over ( )}{circumflex over( )}R{circumflex over ( )}{circumflex over ( )}|<|{circumflex over( )}{circumflex over ( )}{circumflex over ( )}N{circumflex over( )}R{circumflex over ( )}{circumflex over ( )}|>|>|Stream{circumflexover ( )}{circumflex over ( )}{circumflex over ( )}{circumflex over( )}D{circumflex over ( )}{circumflex over ( )}|<|$.50{circumflex over( )}{circumflex over ( )}{circumflex over ( )}{circumflex over( )}R{circumflex over ( )}{circumflex over ( )}|<|PurchaseNow{circumflex over ( )}B{circumflex over ( )}override~{circumflex over( )}N{circumflex over ( )}R{circumflex over ( )}{circumflex over ( )}|

When the MDN string has been retrieved from the sequencer DSO, a messagecan be displayed to the user indicating that the pop-up menu is beingbuilt (step 1604). The MDN string is passed to a pop-up engine (step1606). The pop-up engine constructs a multidimensional array. This arraycan be interpreted by a pop-up menu builder to construct an HTML pop-uparray. The pop-up engine parses each string section (step 1610) bysearching for the menu item delimiter. If the delimited string containsa down-control character, the pop-up engine tests for the existence of alower menu level (step 1614). If the lower menu already exits, then itis selected (step 1616). Otherwise a new menu level is built (step1618). Similarly, if the up control character is found, then a pop-upengine tests for existence of a higher menu level (step 1624). If thehigher menu level already exists, then that menu level is selected (step1626). Otherwise, a new menu level is built (step 1628). If thedelimited string contains neither an up nor a down control character,then the data in the string is parsed (step 1632). When the pop-upengine has reached the end of the string (step 1634), the array ispassed to the pop-up menu builder which constructs an HTML menu from thearray and writes the new HTML to the document.

When the mail feature is activated, the user's ID and an identificationof the currently selected play list are written to an electronic mailtable record in the user database. A window is opened to present astandard ASP form to receive information about the recipient, e.g., therecipient's electronic mail address. When the electronic mail is sent,the fields from the ASP form are inserted into the electronic mail tablerecord, the body of the electronic mail is written, and the mail isformatted with a New Mail Active Messaging Component and passed to an NTSMTP service. The NT SMTP service connects to a remote domain mailserver account, and passes the outbound mail for delivery. When therecipient selects the delivered electronic mail, the displayed text willinclude a button linking to a mail query ASP form on the server. Whenthe button is selected, a browser is launched and connects to theserver. The server determines the browser configuration to see if it iscapable of playing the media objects in the play list and and capable ofcreating and operating a sequential player. If the browser is capable ofplaying the media objects, an HTML page is assembled appropriate to thebrowser configuration to display the media icons from the mailed playlist. However, the server may be configured to return a play list thatincludes only the currently valid media objects so that when therecipient chooses to play the media objects, bad links will be avoided.The electronic mail recipient may then play the media objects.

The invention has been described in terms of a particular embodiment.Other embodiments are within the scope of the following claims. Forexample, although the application has discussed web pages that areaccessed though the Internet, the invention is generally applicable toother client-server arrangements, such as an Intranet, where the clientruns a viewer program and the server delivers an electronic document theclient.

1. A method comprising: establishing a bidirectional database connectionto a user database associated with a media server, retrieving from saiduser database a play list that defines an order in which one or moremedia objects are played, wherein said play list is in a statecorresponding to a most recent user session; generating a command to amedia player in response to user selection of a media object from saidplay list, causing said media player to signal a media server to requestthe media object, to buffer a media stream received from said mediaserver, and to play the media object; and retrieving from an interfacedatabase associated with said media server an expandable and collapsibleoutline of subjects with media icons arranged in lists, and displayingsaid outline, wherein said retrieving comprises sending a pre-definedinitial query to said interface database, and loading said outline intoa media icon access panel Data Source Object (DSO).
 2. The method ofclaim 1, further comprising: retrieving from said user database aplurality of play lists, each of said plurality of play lists definingan order in which one or more media objects are played, and each of saidplurality of play lists is in a state corresponding to a most recentuser session.
 3. The method of claim 2, further comprising: displaying auser-selectable tab for each play list.
 4. The method of claim 1,further comprising: displaying a checkbox for each media object in theplay list, the checkbox controlling whether the media player will playthe media object.
 5. The method of claim 1, further comprising:displaying a pop-up menu for each media object in the play list, eachpop-up menu providing information about a corresponding media object. 6.The method of claim 1, wherein said play list comprises scripted DHTML(Dynamic Hypertext Markup Language).
 7. The method of claim 1, whereinsaid media player further comprises an image display subwindow.
 8. Themethod of claim 7, wherein said image display subwindow includes ahandle which allows dragging said subwindow.
 9. The method of claim 7,wherein the image display subwindow includes a home button to return theimage display subwindow to a home position.
 10. The method of claim 7,wherein the image display subwindow includes a button to hide an imagearea portion of said image display subwindow.
 11. The method of claim 7,wherein the image display subwindow dynamically expands or contracts tofit an image associated with a media object retrieved from said mediaserver, and wherein said image display subwindow includes a size lockbutton to prevent the image display subwindow from expanding beyond adetermined size.
 12. The method of claim 1, further comprising:accessing a Uniform Resource Locator (URL) associated with a mediaobject played by the media player, retrieving data from said URL, anddisplaying said data in a site-driven user interface area.
 13. Themethod of claim 12, wherein the data from said URL is synchronized withthe media object played by the media player.
 14. The method of claim 1,further comprising: copying a media object from a site-driven area tothe play list.
 15. The computer readable medium of claim 3, furthercomprising: displaying a marker indicating that there are additionaltabs not in view.
 16. The method of claim 1, further comprising: sendingor receiving a play list by electronic mail.
 17. The method of claim 1,wherein the play list includes media objects added to the play listautomatically based on a user interest profile.